package com.ygqh.baby.service.wechat.model.good;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.List;

/**
 * 好物圈——物品信息
 *
 * @Author: sunshuo
 * @Date: 2019/5/24 14:53
 * @Version: 1.0
 */
public class GoodProduct implements Serializable {

	private static final long serialVersionUID = -5658140613156367726L;

	/**
	 * 物品ID（SPU ID），要求appid下全局唯一		必填
	 */
	private String itemCode;

	/**
	 * 物品名称		必填
	 */
	private String title;

	/**
	 * 物品详细描述		非必填
	 */
	private String desc;

	/**
	 * 物品类目列表，用于搜索排序		必填
	 */
	private List<String> categoryList;

	/**
	 * 物品图片链接列表，图片宽度必须大于750px，宽高比建议4:3 - 1:1之间		必填
	 */
	private List<String> imageList;

	/**
	 * 物品来源小程序路径		必填
	 */
	private String srcWxappPath;

	/**
	 * 物品SPU属性		非必填
	 */
	private List<GoodProductAttr> attrList;

	/**
	 * 物品SKU列表，单次导入不超过16个SKU，微信后台会合并多次导入的SKU		必填
	 */
	private List<GoodSku> skuList;

	/**
	 * 非高并发更新数据的场景不建议填写此字段。数据版本号，需按照更新递增		非必填
	 */
	private Integer version;

	/**
	 * 物品能否被搜索（默认true可以被搜索）		非必填
	 */
	private boolean canBeSearch;

	/**
	 * 商家信息		非必填
	 */
	private List<GoodProductBrand> brandInfo;

	/**
	 * 物品平台类目列表		非必填
	 */
	private List<GoodProductPlatformCategory> platformCategoryList;

	@JSONField(name = "item_code")
	public String getItemCode() {
		return itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}

	@JSONField(name = "title")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@JSONField(name = "desc")
	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	@JSONField(name = "category_list")
	public List<String> getCategoryList() {
		return categoryList;
	}

	public void setCategoryList(List<String> categoryList) {
		this.categoryList = categoryList;
	}

	@JSONField(name = "image_list")
	public List<String> getImageList() {
		return imageList;
	}

	public void setImageList(List<String> imageList) {
		this.imageList = imageList;
	}

	@JSONField(name = "src_wxapp_path")
	public String getSrcWxappPath() {
		return srcWxappPath;
	}

	public void setSrcWxappPath(String srcWxappPath) {
		this.srcWxappPath = srcWxappPath;
	}

	@JSONField(name = "attr_list")
	public List<GoodProductAttr> getAttrList() {
		return attrList;
	}

	public void setAttrList(List<GoodProductAttr> attrList) {
		this.attrList = attrList;
	}

	@JSONField(name = "sku_list")
	public List<GoodSku> getSkuList() {
		return skuList;
	}

	public void setSkuList(List<GoodSku> skuList) {
		this.skuList = skuList;
	}

	@JSONField(name = "version")
	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	@JSONField(name = "can_be_search")
	public boolean isCanBeSearch() {
		return canBeSearch;
	}

	public void setCanBeSearch(boolean canBeSearch) {
		this.canBeSearch = canBeSearch;
	}

	@JSONField(name = "brand_info")
	public List<GoodProductBrand> getBrandInfo() {
		return brandInfo;
	}

	public void setBrandInfo(List<GoodProductBrand> brandInfo) {
		this.brandInfo = brandInfo;
	}

	@JSONField(name = "platform_category_list")
	public List<GoodProductPlatformCategory> getPlatformCategoryList() {
		return platformCategoryList;
	}

	public void setPlatformCategoryList(List<GoodProductPlatformCategory> platformCategoryList) {
		this.platformCategoryList = platformCategoryList;
	}

	@Override
	public String toString() {
		return "GoodProduct{" +
				"itemCode='" + itemCode + '\'' +
				", title='" + title + '\'' +
				", desc='" + desc + '\'' +
				", categoryList=" + categoryList +
				", imageList=" + imageList +
				", srcWxappPath='" + srcWxappPath + '\'' +
				", attrList=" + attrList +
				", skuList=" + skuList +
				", version=" + version +
				", canBeSearch=" + canBeSearch +
				", brandInfo=" + brandInfo +
				", platformCategoryList=" + platformCategoryList +
				'}';
	}
}
